home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / system / csvs.zip / CSVS.DOC < prev    next >
Text File  |  1987-04-20  |  29KB  |  521 lines

  1.                 The Computer Shopper PC Clone Validation Test
  2.                     By Andrew M. Fried & Kenneth McMillen
  3.  
  4. Introduction
  5. ------------
  6. There has never been a better time to purchase an IBM clone microcomputer than 
  7. today.   Overseas  production and fierce competition have  made  the  computer 
  8. consumer master of the industry.
  9.  
  10. There  is  generally  one question facing most  prospective  buyers  of  clone 
  11. computers,  and  that  is  whether  or not the system  is,  in  fact,  a  true 
  12. compatible.
  13.  
  14. Beginning next month, Comupter Shopper will add another program to its list of 
  15. programs  used  to  test a systems compatibility with that of  the  PC.   This 
  16. program, called BIOSTEST, invokes almost all of the ROM BIOS calls and  checks 
  17. them for proper operation.
  18.  
  19. The purpose of this article is to discuss the various interrupts available  in 
  20. ROM BIOS and how they can be checked for compatiblity.
  21.  
  22.  
  23. Interrupt 5 - Print Screen
  24. --------------------------
  25. When  the combination of the Shift-PrtScr keys are  simultaneously  depressed, 
  26. the  ROM  BIOS  generates  an interrupt type 5.   This  interrupt  causes  the 
  27. contents of the screen to be sent to LPT1:.
  28.  
  29. Our  test of this interrupt is simple and straightforward.  To begin  with,  a 
  30. ROM  BIOS  call is made to determine the current video mode.  Once  the  video 
  31. mode is known, the active screen memory is known.
  32.  
  33. The contents of the current screen are saved into a buffer so that they may be 
  34. restored  upon completion of the test.  In order to insure that there  is,  in 
  35. fact, something on the screen to print, a series of printable ASCII characters 
  36. are  generated  and displayed onto the active screen.   These  characters  are 
  37. printed sequentially from chr(32) up to chr(127).
  38.  
  39. BIOSTEST then generates an Interrupt 5.  It becomes the responsibility of  ROM 
  40. BIOS to transfer everything on the screen onto the printer.
  41.  
  42. Once the interrupt has finished, BIOSTEST restores the screen to its  original 
  43. condition and waits for you to press a key to continue.  In order to determine 
  44. whether or not the interrupt functioned properly, you must examine the printer 
  45. output to see if the pattern appears correct.
  46.  
  47.  
  48. Interrupt 10 - Video I/O
  49. ------------------------
  50. ROM-BIOS  has a set of routines which handle various video   functions.  These 
  51. routines set screen modes, move and find the  cursor's position, select active 
  52. graphic  pages,  up/down  scrolling, read/write  characters  with  attributes, 
  53. read/write  dots, and color selections. Some of them are practical if  program 
  54. speed  is not a problem. However if you wish to do some  fancy  graphics  that 
  55. are  quick  then using these routines are not  for you. Their  performance  is 
  56. slow as you will see with the dot  testing. The nicer functions are the screen 
  57. scrolling  and active  page selection. To take advantage of the  graphics  you 
  58. will need  a color monitor.
  59.  
  60. Before  the test begins it checks to see what type of monitor  you are  using. 
  61. If  you  are using a monochrome monitor the program  will only  do  the  tests 
  62. which  apply to a monochrome display.  There are sixteen functions  with  this 
  63. interrupt.  The test will  step through each one and ask you to press any  key 
  64. at  the  end of  each test to continue on to the next one. Some of  the  tests 
  65. will   display a pass or fail message while the rest of them require  you   to 
  66. look at the screen to verify certain conditions. Each of the  tests will  have 
  67. a header at the top of the screen to let you know  what is being tested.
  68.  
  69. The first test that is tried is the verification of a table  in ROM-BIOS  that 
  70. contains video initialization parameters. When  you boot your system or  power 
  71. it  on the built in diagnostics look  at the switch settings for  the  monitor 
  72. type  and set up the video  card with the correct parameters from this  table. 
  73. If  one of the  parameters do not match then the test fails. This table  needs 
  74. to  match 100% if you system is to be compatible.
  75.  
  76. The next test deals with setting screen modes. If you are  using a  monochrome 
  77. display  then there is only one mode. For the  color display there  are  seven 
  78. different modes. You should see  each of the seven modes set (40x25 BW,  40x25 
  79. color, 80x25 BW,  80x25 color, 320x200 color, 320x200 BW, and 640x200 BW).
  80.  
  81. Using  this next function you can set up your cursor type.  In the  monochrome 
  82. mode  your cursor is made up of thirteen lines  whereas in the color mode  you 
  83. have  just seven. If you use this  function it needs the starting  and  ending 
  84. line.  This test should  display a solid cursor, starting at cursor line  zero 
  85. and ending  at seven or thirteen. 
  86.  
  87. The  next two tests position and read the cursor's location.  The  first  test 
  88. positions  the cursor at row four, column twelve  and prints the  letter  'X'. 
  89. You  need  to verify this by looking at  the screen. The other test  does  the 
  90. same  thing and then reads  the location of the cursor which should be at  row 
  91. four,  column  thirteen. On the screen you should see the blinking  cursor  at  
  92. this position. Press any key when you have finished with each  test.
  93.  
  94. Function  number  four of this interrupt reads the position of  a  light  pen. 
  95. This test was not included since most everyone does  not have a light pen.
  96.  
  97. Function number five selects the active page to display. To  fully utilize all 
  98. of  the memory on the video card IBM included  this function which  gives  you 
  99. multiple  pages  of text. In a 40x25  screen mode you have a  total  of  eight 
  100. pages of text that you  could flip through if your application takes advantage 
  101. of  this.   In an 80x25 mode you get just four since you are  using  twice  as  
  102. much  video  memory. This function works only with color displays.   The  test 
  103. will  first  use  the 80x25 mode and fill up all four  pages   with  the  page 
  104. number. Then the test will ask you to press any  key to flip through the  four 
  105. pages verifying that each screen  page is filled with the proper page  number. 
  106. If so then this test  passes.
  107.  
  108. The  next  two tests test the scrolling functions. The first   one  fills  the 
  109. screen with text and scrolls up a window of text.  The second on does the same 
  110. except it scrolls down a window of  text. If you see this happen then both  of 
  111. these tests pass. You  can also see what the character set will look like. 
  112.  
  113. The  next  three tests deal with the character handling  routines.  The  first 
  114. will  display  a  test  pattern made up  of  all   the  attribute  capabilites 
  115. (underline,  color,  blinking...). The  test will read the  pattern  from  the 
  116. screen  and  if  it matches the  test passes. The next test  writes  the  test 
  117. pattern  on  the screen  and then it is read back to verify that  the  pattern 
  118. matches.  If   so then this test passes. The third test also writes  the  test  
  119. pattern  to the screen but without any of the attributes so what   you  should 
  120. see  is text displayed normally. A trade off with the  attributes is that  you 
  121. have  the underline capability only with  the monochrome and color  only  with 
  122. the color display.
  123.  
  124. Functions eleven, twelve, and thirteen are used for  graphics. Function eleven 
  125. sets  the  color palette. The test  should cycle through sixteen  colors.  You 
  126. will  need to verify  this. Function twelve handles writing dots or pixels  to 
  127. the  screen at a particular row and column. The test should draw a  box on the 
  128. screen. To verify that the test did this it will read  back all the dots which 
  129. make up the box, please be patient while  the test does this. If they are  all 
  130. read  back  successfully  then  the test  passes.  Function  thirteen  handles 
  131. reading  the  color  of   a dot at some position.  This  test  should  draw  a 
  132. different box  and if the test reads back each dot that the box is made up  of  
  133. then the test passes. 
  134.  
  135. Function fourteen handles writing characters to the screen  and is similar  to 
  136. the functions describe above which handle  characters. This test uses the same 
  137. test  pattern  as used in the  above test. If the